package com.example.vendingmachine.entity;

import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 支付记录实体类
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class PaymentRecord extends BaseEntity {
    /**
     * 支付流水号
     */
    private String paymentNo;

    /**
     * 订单ID
     */
    private Long orderId;

    /**
     * 订单编号
     */
    private String orderNo;

    /**
     * 支付金额
     */
    private BigDecimal amount;

    /**
     * 支付方式
     * WECHAT: 微信支付
     * ALIPAY: 支付宝
     */
    private String payType;

    /**
     * 支付状态
     * PENDING: 待支付
     * SUCCESS: 支付成功
     * FAILED: 支付失败
     * CLOSED: 已关闭
     * REFUNDED: 已退款
     */
    private String status;

    /**
     * 第三方支付流水号
     */
    private String transactionId;

    /**
     * 支付完成时间
     */
    private LocalDateTime payTime;

    /**
     * 退款时间
     */
    private LocalDateTime refundTime;

    /**
     * 支付错误信息
     */
    private String errorMsg;
} 